/**
 * @fileOverview editor.Action动作
 * @author goodzsq@gmail.com
 */

var BaseClass = gg.module('BaseObject');

module.exports = gg.createClass({
    attributes: {
        icon: {
            label: '图标',
            type: 'datatype.String'
        },
        text: {
            label: '文字',
            type: 'datatype.String'
        },
        help: {
            label: '提示文本',
            type: 'datatype.String'
        },
        disable: {
            label: '是否禁用',
            type: 'datatype.Boolean'
        },
        action:{
            label:'动作',
            type:'datatype.Function'
        }
    },
    methods: {
        /**
         * 执行动作
         */
        execute:function(){
            if(this.get('disable') !== true){
                var action = this.get('action');
                if(typeof action === 'function'){
                    return action.apply(this, arguments);
                }
            }
        }
    },
    events: {

    }
}, BaseClass, [/* trait1, trait2, ... */]);


/** @fileend */

//unittest
UnitTest.add('editor.Action模块测试',
        function() {
            this.test(true, 'ok');
        }
);